package com.xbn.xbnmall.order.vo;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author XBN
 * @date 2020/8/17 19:51
 * @email 78742541@qq.com
 */

/*
*
* 确认订单需要的数据
* */

public class OrderConfirmVo {

    /*收货地址*/
  @Getter @Setter
  List<MemberAddressVo> address;
    /*所有选中的购物项*/
    @Getter @Setter
    List<OrderItemVo> items;
    /*优惠券信息*/
    @Getter @Setter
    Integer integration;
    /*订单总额*/
    BigDecimal total;
    //应付价格
    BigDecimal payPrice;
    //订单的防重令牌
  @Getter @Setter
    String orderToken;
    //存放库存的map
  @Getter @Setter
   Map<Long,Boolean>  stocks;
  public BigDecimal getTotal() {
    BigDecimal sum=new BigDecimal("0");
    if(items!=null&&items.size()>0) {
      for (OrderItemVo
              itemVo : items
      ) {
        BigDecimal multiply = itemVo.getPrice().multiply(new BigDecimal(itemVo.getCount().toString()));
        sum=sum.add(multiply);
      }
    }
    return sum;
  }
    //当前没有优惠逻辑，所以直接调用总额价格，功能添加则需要修改
  public BigDecimal getPayPrice() {
    return getTotal();
  }

  //获取商品件数
  public Integer getCount(){
    Integer sum=0;
    if(items!=null&&items.size()>0) {
      for (OrderItemVo
              itemVo : items
      ) {
        sum+=itemVo.getCount();
      }
    }
    return sum;
  }
}
